import { RootState } from '../../../shared/store';

// Получить состояние авторизации
export const getIsAuth = (state: RootState) => state.auth.isAuth;

export const getUserId = (state: RootState) => state.auth.userId;

// Получить загрузку авторизации
export const getIsLoading = (state: RootState) => state.auth.loading;

// Получить ошибку авторизации
export const getIsError = (state: RootState) => state.auth.error;

// Получить время жизни access токена
export const getExpires = (state: RootState) => state.auth.expires;

// Получить refreshToken
export const getRefreshToken = (state: RootState) => state.auth.refreshToken;

// Получить статус отравки SMS
export const getPhoneAuth = (state: RootState) => state.auth.phoneAuth.success;

export const getFeedbackFiles = (state: RootState) => state.auth.feedbackFiles;

// Получить статус загрузки при отправке SMS
export const getPhoneAuthLoading = (state: RootState) =>
  state.auth.phoneAuth.loading || state.auth.phoneAuthCheckCode.loading;

// Получить ошибку при проверке кода смс
export const getPhoneAuthError = (state: RootState) => state.auth.phoneAuthCheckCode.error;

// Получить статус загрузки при проверке кода SMS
export const getCheckSMSCodeLoading = (state: RootState) => state.auth.phoneAuthCheckCode.loading;

// Получить статус успешной проверки кода
export const getCheckSMSCodeSuccess = (state: RootState) => state.auth.phoneAuthCheckCode.success;

// Получить ACCESS TOKEN
export const getAccessToken = (state: RootState) => state.auth.accessToken;

// Получить статус редиректа на Feedback
export const getGoToFeedbackStatus = (state: RootState) => state.auth.goToFeedback;

// Получить статус регистрации по почте
export const getDoesUserExist = (state: RootState) => state.auth.doesUserExist;

// Получить почту, с которой будет проводиться авторизация или регистрация
export const getCurrentEmail = (state: RootState) => state.auth.currentEmail;

// Получить почту, с которой проводилась текущая авторизация
export const getAuthEmail = (state: RootState) => state.auth.authEmail;

// Получить почту, с которой проводилась текущая авторизация
export const getAuthProcessEmail = (state: RootState) => state.auth.emailAuthProcess;

// Получить статус успешной регистрации по почте
export const getEmailRegistrationSuccess = (state: RootState) => state.auth.emailRegistration.success;

// Получить статус успешной авторизации по почте
export const getEmailAuthSuccess = (state: RootState) => state.auth.emailAuth.success;

// Получить ошибку при попытке авторизации по почте
export const getEmailAuthError = (state: RootState) => state.auth.emailAuth.error;

// Проводилась ли текущая авторизация через номер телефона?
export const isAuthByPhone = (state: RootState) => state.auth.isAuthByPhone;

// Получить статус сравнения введенного пароля с актуальным паролем
export const getIsCorrectPassword = (state: RootState) => state.auth.isCorrectPassword;
